package com.ambulance.project.manager.domain;

import com.ambulance.framework.aspectj.lang.annotation.Excel;
import com.ambulance.framework.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 车辆管理对象 biz_car
 *
 * @author zr
 * @date 2020-05-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ToString
@ApiModel(value = "车辆管理对象", description = "车辆管理}")
public class BizCar extends BaseEntity {
    private static final long serialVersionUID = 1L;


    // 车辆ID
    @ApiModelProperty(value = "车辆ID")
    private Long carID;


    // 医院标识
    @ApiModelProperty(value = "医院标识")
    private Long uid;


    // 车辆类型
    @Excel(name = "车辆类型")
    @ApiModelProperty(value = "车辆类型")
    private Integer type;

    // 车牌号
    @Excel(name = "车牌号")
    @ApiModelProperty(value = "车牌号")
    private String vin;


    // 最后出诊时间
    @ApiModelProperty(value = "最后出诊时间")
    private Date lastTime;


    //上次出车结束时间
    @TableField(exist = false)
    private Date endLastDispatchTime;
    // 车辆部门
    @Excel(name = "车辆部门")
    @ApiModelProperty(value = "车辆部门")
    private String depart;
    // 上次出车司机
    @Excel(name = "上次出车司机")
    @ApiModelProperty(value = "上次出车司机")
    private String lastDispatchDriverName;
    // 上次出车时间
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "上次出车时间", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    @ApiModelProperty(value = "上次出车时间")
    private Date lastDispatchTime;
    // 上次出车司机标识
    @ApiModelProperty(value = "上次出车司机标识")
    private Long lastDispatchDriverID;
    // 车速
    @ApiModelProperty(value = "车速")
    private Long speed;
    // 胎压
    @ApiModelProperty(value = "胎压")
    private Long pressure;
    // 氧气
    @ApiModelProperty(value = "氧气")
    private String oxygen;
    // 车辆GPS
    @Excel(name = "车辆GPS")
    @ApiModelProperty(value = "车辆GPS")
    private String carGps;
    // 报警信息
    @Excel(name = "报警信息")
    @ApiModelProperty(value = "报警信息")
    private String alarm;
    // 状态
    @Excel(name = "状态")
    @ApiModelProperty(value = "状态")
    private Integer status;
    // 宏电车辆标识
    @Excel(name = "宏电车辆标识")
    @ApiModelProperty(value = "宏电车辆标识")
    private Long id;
    // 宏电车辆机构标识
    @ApiModelProperty(value = "宏电车辆机构标识")
    private Long departId;
    // 宏电机构名称
    @ApiModelProperty(value = "宏电机构名称")
    private String departName;
    // 宏电终端序列号
    @Excel(name = "宏电终端序列号")
    @ApiModelProperty(value = "宏电终端序列号")
    private String termSn;
    // 宏电过期时间
    @ApiModelProperty(value = "宏电过期时间")
    private Date expireDate;
    // 宏电注册时间
    @ApiModelProperty(value = "宏电注册时间")
    private Date registerDate;
    // 宏电最近修改时间
    @ApiModelProperty(value = "宏电最近修改时间")
    private Date modifyDate;
    // 宏电是否启用车辆
    @Excel(name = "宏电是否启用车辆")
    @ApiModelProperty(value = "宏电是否启用车辆")
    private Integer enableVehicle;
    // 宏电是否在线
    @Excel(name = "宏电是否在线")
    @ApiModelProperty(value = "宏电是否在线")
    private Integer online;
    // 报停原因
    @Excel(name = "报停原因")
    @ApiModelProperty(value = "报停原因")
    private String scramReason;
    @TableField(exist = false)
    @ApiModelProperty(value = "纬度")
    private Float latitude;
    @TableField(exist = false)
    @ApiModelProperty(value = "经度")
    private Float longitude;
    @ApiModelProperty(value = "车辆图片")
    @TableField("image")
    private String image;

    @ApiModelProperty(value = "超声房间号(飞利浦)")
    @TableField("ultrasonicRoom")
    private String ultrasonicRoom;

    @ApiModelProperty(value = "网关标识")
    @TableField("gatwayId")
    private String gatwayId;

    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @ApiModelProperty(value = "数据回传时间")
    @TableField("callbackTime")
    private Date callbackTime;

}
